home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / print / ServiceDialog$MarginsPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  8.4 KB  |  443 lines

  1. package sun.print;
  2.  
  3. import java.awt.GridBagConstraints;
  4. import java.awt.GridBagLayout;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.FocusEvent;
  8. import java.awt.event.FocusListener;
  9. import java.text.DecimalFormat;
  10. import java.util.Locale;
  11. import javax.print.attribute.HashPrintRequestAttributeSet;
  12. import javax.print.attribute.standard.Media;
  13. import javax.print.attribute.standard.MediaPrintableArea;
  14. import javax.print.attribute.standard.MediaSize;
  15. import javax.print.attribute.standard.MediaSizeName;
  16. import javax.print.attribute.standard.OrientationRequested;
  17. import javax.swing.BorderFactory;
  18. import javax.swing.JFormattedTextField;
  19. import javax.swing.JLabel;
  20. import javax.swing.JPanel;
  21. import javax.swing.text.NumberFormatter;
  22.  
  23. class ServiceDialog$MarginsPanel extends JPanel implements ActionListener, FocusListener {
  24.    private final String strTitle;
  25.    private JFormattedTextField leftMargin;
  26.    private JFormattedTextField rightMargin;
  27.    private JFormattedTextField topMargin;
  28.    private JFormattedTextField bottomMargin;
  29.    private JLabel lblLeft;
  30.    private JLabel lblRight;
  31.    private JLabel lblTop;
  32.    private JLabel lblBottom;
  33.    private int units;
  34.    private float lmVal;
  35.    private float rmVal;
  36.    private float tmVal;
  37.    private float bmVal;
  38.    private Float lmObj;
  39.    private Float rmObj;
  40.    private Float tmObj;
  41.    private Float bmObj;
  42.    // $FF: synthetic field
  43.    final ServiceDialog this$0;
  44.  
  45.    public ServiceDialog$MarginsPanel(ServiceDialog var1) {
  46.       this.this$0 = var1;
  47.       this.strTitle = ServiceDialog.getMsg("border.margins");
  48.       this.units = 1000;
  49.       this.lmVal = -1.0F;
  50.       this.rmVal = -1.0F;
  51.       this.tmVal = -1.0F;
  52.       this.bmVal = -1.0F;
  53.       GridBagLayout var2 = new GridBagLayout();
  54.       GridBagConstraints var3 = new GridBagConstraints();
  55.       var3.fill = 2;
  56.       var3.weightx = (double)1.0F;
  57.       var3.weighty = (double)0.0F;
  58.       var3.insets = ServiceDialog.access$700();
  59.       this.setLayout(var2);
  60.       this.setBorder(BorderFactory.createTitledBorder(this.strTitle));
  61.       String var4 = "label.millimetres";
  62.       String var5 = Locale.getDefault().getCountry();
  63.       if (var5 != null && (var5.equals("") || var5.equals(Locale.US.getCountry()) || var5.equals(Locale.CANADA.getCountry()))) {
  64.          var4 = "label.inches";
  65.          this.units = 25400;
  66.       }
  67.  
  68.       String var6 = ServiceDialog.getMsg(var4);
  69.       DecimalFormat var7;
  70.       if (this.units == 1000) {
  71.          var7 = new DecimalFormat("###.##");
  72.          var7.setMaximumIntegerDigits(3);
  73.       } else {
  74.          var7 = new DecimalFormat("##.##");
  75.          var7.setMaximumIntegerDigits(2);
  76.       }
  77.  
  78.       var7.setMinimumFractionDigits(1);
  79.       var7.setMaximumFractionDigits(2);
  80.       var7.setMinimumIntegerDigits(1);
  81.       var7.setParseIntegerOnly(false);
  82.       var7.setDecimalSeparatorAlwaysShown(true);
  83.       NumberFormatter var8 = new NumberFormatter(var7);
  84.       var8.setMinimum(new Float(0.0F));
  85.       var8.setMaximum(new Float(999.0F));
  86.       var8.setAllowsInvalid(true);
  87.       var8.setCommitsOnValidEdit(true);
  88.       this.leftMargin = new JFormattedTextField(var8);
  89.       this.leftMargin.addFocusListener(this);
  90.       this.leftMargin.addActionListener(this);
  91.       this.leftMargin.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.leftmargin"));
  92.       this.rightMargin = new JFormattedTextField(var8);
  93.       this.rightMargin.addFocusListener(this);
  94.       this.rightMargin.addActionListener(this);
  95.       this.rightMargin.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.rightmargin"));
  96.       this.topMargin = new JFormattedTextField(var8);
  97.       this.topMargin.addFocusListener(this);
  98.       this.topMargin.addActionListener(this);
  99.       this.topMargin.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.topmargin"));
  100.       this.topMargin = new JFormattedTextField(var8);
  101.       this.bottomMargin = new JFormattedTextField(var8);
  102.       this.bottomMargin.addFocusListener(this);
  103.       this.bottomMargin.addActionListener(this);
  104.       this.bottomMargin.getAccessibleContext().setAccessibleName(ServiceDialog.getMsg("label.bottommargin"));
  105.       this.topMargin = new JFormattedTextField(var8);
  106.       var3.gridwidth = -1;
  107.       this.lblLeft = new JLabel(ServiceDialog.getMsg("label.leftmargin") + " " + var6, 10);
  108.       this.lblLeft.setDisplayedMnemonic(ServiceDialog.access$800("label.leftmargin"));
  109.       this.lblLeft.setLabelFor(this.leftMargin);
  110.       ServiceDialog.access$300(this.lblLeft, this, var2, var3);
  111.       var3.gridwidth = 0;
  112.       this.lblRight = new JLabel(ServiceDialog.getMsg("label.rightmargin") + " " + var6, 10);
  113.       this.lblRight.setDisplayedMnemonic(ServiceDialog.access$800("label.rightmargin"));
  114.       this.lblRight.setLabelFor(this.rightMargin);
  115.       ServiceDialog.access$300(this.lblRight, this, var2, var3);
  116.       var3.gridwidth = -1;
  117.       ServiceDialog.access$300(this.leftMargin, this, var2, var3);
  118.       var3.gridwidth = 0;
  119.       ServiceDialog.access$300(this.rightMargin, this, var2, var3);
  120.       ServiceDialog.access$300(new JPanel(), this, var2, var3);
  121.       var3.gridwidth = -1;
  122.       this.lblTop = new JLabel(ServiceDialog.getMsg("label.topmargin") + " " + var6, 10);
  123.       this.lblTop.setDisplayedMnemonic(ServiceDialog.access$800("label.topmargin"));
  124.       this.lblTop.setLabelFor(this.topMargin);
  125.       ServiceDialog.access$300(this.lblTop, this, var2, var3);
  126.       var3.gridwidth = 0;
  127.       this.lblBottom = new JLabel(ServiceDialog.getMsg("label.bottommargin") + " " + var6, 10);
  128.       this.lblBottom.setDisplayedMnemonic(ServiceDialog.access$800("label.bottommargin"));
  129.       this.lblBottom.setLabelFor(this.bottomMargin);
  130.       ServiceDialog.access$300(this.lblBottom, this, var2, var3);
  131.       var3.gridwidth = -1;
  132.       ServiceDialog.access$300(this.topMargin, this, var2, var3);
  133.       var3.gridwidth = 0;
  134.       ServiceDialog.access$300(this.bottomMargin, this, var2, var3);
  135.    }
  136.  
  137.    public void actionPerformed(ActionEvent var1) {
  138.       Object var2 = var1.getSource();
  139.       this.updateMargins(var2);
  140.    }
  141.  
  142.    public void focusLost(FocusEvent var1) {
  143.       Object var2 = var1.getSource();
  144.       this.updateMargins(var2);
  145.    }
  146.  
  147.    public void focusGained(FocusEvent var1) {
  148.    }
  149.  
  150.    public void updateMargins(Object var1) {
  151.       if (var1 instanceof JFormattedTextField) {
  152.          JFormattedTextField var2 = (JFormattedTextField)var1;
  153.          Float var3 = (Float)var2.getValue();
  154.          if (var3 != null) {
  155.             if (var2 != this.leftMargin || !var3.equals(this.lmObj)) {
  156.                if (var2 != this.rightMargin || !var3.equals(this.rmObj)) {
  157.                   if (var2 != this.topMargin || !var3.equals(this.tmObj)) {
  158.                      if (var2 != this.bottomMargin || !var3.equals(this.bmObj)) {
  159.                         Float var14 = (Float)this.leftMargin.getValue();
  160.                         var3 = (Float)this.rightMargin.getValue();
  161.                         Float var4 = (Float)this.topMargin.getValue();
  162.                         Float var5 = (Float)this.bottomMargin.getValue();
  163.                         float var6 = var14;
  164.                         float var7 = var3;
  165.                         float var8 = var4;
  166.                         float var9 = var5;
  167.                         Class var10 = OrientationRequested.class;
  168.                         OrientationRequested var11 = (OrientationRequested)ServiceDialog.access$1200(this.this$0).get(var10);
  169.                         if (var11 == null) {
  170.                            var11 = (OrientationRequested)ServiceDialog.access$400(this.this$0).getDefaultAttributeValue(var10);
  171.                         }
  172.  
  173.                         if (var11 == OrientationRequested.REVERSE_PORTRAIT) {
  174.                            float var12 = var6;
  175.                            var6 = var7;
  176.                            var7 = var12;
  177.                            var12 = var8;
  178.                            var8 = var9;
  179.                            var9 = var12;
  180.                         } else if (var11 == OrientationRequested.LANDSCAPE) {
  181.                            float var17 = var6;
  182.                            var6 = var8;
  183.                            var8 = var7;
  184.                            var7 = var9;
  185.                            var9 = var17;
  186.                         } else if (var11 == OrientationRequested.REVERSE_LANDSCAPE) {
  187.                            float var18 = var6;
  188.                            var6 = var9;
  189.                            var9 = var7;
  190.                            var7 = var8;
  191.                            var8 = var18;
  192.                         }
  193.  
  194.                         MediaPrintableArea var13;
  195.                         if ((var13 = this.validateMargins(var6, var7, var8, var9)) != null) {
  196.                            ServiceDialog.access$1200(this.this$0).add(var13);
  197.                            this.lmVal = var6;
  198.                            this.rmVal = var7;
  199.                            this.tmVal = var8;
  200.                            this.bmVal = var9;
  201.                            this.lmObj = var14;
  202.                            this.rmObj = var3;
  203.                            this.tmObj = var4;
  204.                            this.bmObj = var5;
  205.                         } else {
  206.                            if (this.lmObj == null || this.rmObj == null || this.tmObj == null || this.rmObj == null) {
  207.                               return;
  208.                            }
  209.  
  210.                            this.leftMargin.setValue(this.lmObj);
  211.                            this.rightMargin.setValue(this.rmObj);
  212.                            this.topMargin.setValue(this.tmObj);
  213.                            this.bottomMargin.setValue(this.bmObj);
  214.                         }
  215.  
  216.                      }
  217.                   }
  218.                }
  219.             }
  220.          }
  221.       }
  222.    }
  223.  
  224.    private MediaPrintableArea validateMargins(float var1, float var2, float var3, float var4) {
  225.       Class var5 = MediaPrintableArea.class;
  226.       MediaPrintableArea var7 = null;
  227.       MediaSize var8 = null;
  228.       Media var9 = (Media)ServiceDialog.access$1200(this.this$0).get(Media.class);
  229.       if (var9 == null || !(var9 instanceof MediaSizeName)) {
  230.          var9 = (Media)ServiceDialog.access$400(this.this$0).getDefaultAttributeValue(Media.class);
  231.       }
  232.  
  233.       if (var9 != null && var9 instanceof MediaSizeName) {
  234.          MediaSizeName var10 = (MediaSizeName)var9;
  235.          var8 = MediaSize.getMediaSizeForName(var10);
  236.       }
  237.  
  238.       if (var8 == null) {
  239.          var8 = new MediaSize(8.5F, 11.0F, 25400);
  240.       }
  241.  
  242.       if (var9 != null) {
  243.          HashPrintRequestAttributeSet var16 = new HashPrintRequestAttributeSet(ServiceDialog.access$1200(this.this$0));
  244.          var16.add(var9);
  245.          Object var11 = ServiceDialog.access$400(this.this$0).getSupportedAttributeValues(var5, ServiceDialog.access$1600(this.this$0), var16);
  246.          if (var11 instanceof MediaPrintableArea[] && ((MediaPrintableArea[])((MediaPrintableArea[])var11)).length > 0) {
  247.             var7 = ((MediaPrintableArea[])((MediaPrintableArea[])var11))[0];
  248.          }
  249.       }
  250.  
  251.       if (var7 == null) {
  252.          var7 = new MediaPrintableArea(0.0F, 0.0F, var8.getX(this.units), var8.getY(this.units), this.units);
  253.       }
  254.  
  255.       float var17 = var8.getX(this.units);
  256.       float var18 = var8.getY(this.units);
  257.       float var14 = var17 - var1 - var2;
  258.       float var15 = var18 - var3 - var4;
  259.       return !(var14 <= 0.0F) && !(var15 <= 0.0F) && !(var1 < 0.0F) && !(var3 < 0.0F) && !(var1 < var7.getX(this.units)) && !(var14 > var7.getWidth(this.units)) && !(var3 < var7.getY(this.units)) && !(var15 > var7.getHeight(this.units)) ? new MediaPrintableArea(var1, var3, var14, var15, this.units) : null;
  260.    }
  261.  
  262.    public void updateInfo() {
  263.       if (ServiceDialog.access$1500(this.this$0)) {
  264.          this.leftMargin.setEnabled(false);
  265.          this.rightMargin.setEnabled(false);
  266.          this.topMargin.setEnabled(false);
  267.          this.bottomMargin.setEnabled(false);
  268.          this.lblLeft.setEnabled(false);
  269.          this.lblRight.setEnabled(false);
  270.          this.lblTop.setEnabled(false);
  271.          this.lblBottom.setEnabled(false);
  272.       } else {
  273.          Class var1 = MediaPrintableArea.class;
  274.          MediaPrintableArea var2 = (MediaPrintableArea)ServiceDialog.access$1200(this.this$0).get(var1);
  275.          MediaPrintableArea var3 = null;
  276.          MediaSize var4 = null;
  277.          Media var5 = (Media)ServiceDialog.access$1200(this.this$0).get(Media.class);
  278.          if (var5 == null || !(var5 instanceof MediaSizeName)) {
  279.             var5 = (Media)ServiceDialog.access$400(this.this$0).getDefaultAttributeValue(Media.class);
  280.          }
  281.  
  282.          if (var5 != null && var5 instanceof MediaSizeName) {
  283.             MediaSizeName var6 = (MediaSizeName)var5;
  284.             var4 = MediaSize.getMediaSizeForName(var6);
  285.          }
  286.  
  287.          if (var4 == null) {
  288.             var4 = new MediaSize(8.5F, 11.0F, 25400);
  289.          }
  290.  
  291.          if (var5 != null) {
  292.             HashPrintRequestAttributeSet var24 = new HashPrintRequestAttributeSet(ServiceDialog.access$1200(this.this$0));
  293.             var24.add(var5);
  294.             Object var7 = ServiceDialog.access$400(this.this$0).getSupportedAttributeValues(var1, ServiceDialog.access$1600(this.this$0), var24);
  295.             if (var7 instanceof MediaPrintableArea[] && ((MediaPrintableArea[])((MediaPrintableArea[])var7)).length > 0) {
  296.                var3 = ((MediaPrintableArea[])((MediaPrintableArea[])var7))[0];
  297.             } else if (var7 instanceof MediaPrintableArea) {
  298.                var3 = (MediaPrintableArea)var7;
  299.             }
  300.          }
  301.  
  302.          if (var3 == null) {
  303.             var3 = new MediaPrintableArea(0.0F, 0.0F, var4.getX(this.units), var4.getY(this.units), this.units);
  304.          }
  305.  
  306.          float var25 = var4.getX(25400);
  307.          float var27 = var4.getY(25400);
  308.          float var8 = 5.0F;
  309.          float var9;
  310.          if (var25 > var8) {
  311.             var9 = 1.0F;
  312.          } else {
  313.             var9 = var25 / var8;
  314.          }
  315.  
  316.          float var10;
  317.          if (var27 > var8) {
  318.             var10 = 1.0F;
  319.          } else {
  320.             var10 = var27 / var8;
  321.          }
  322.  
  323.          if (var2 == null) {
  324.             var2 = new MediaPrintableArea(var9, var10, var25 - 2.0F * var9, var27 - 2.0F * var10, 25400);
  325.             ServiceDialog.access$1200(this.this$0).add(var2);
  326.          }
  327.  
  328.          float var11 = var2.getX(this.units);
  329.          float var12 = var2.getY(this.units);
  330.          float var13 = var2.getWidth(this.units);
  331.          float var14 = var2.getHeight(this.units);
  332.          float var15 = var3.getX(this.units);
  333.          float var16 = var3.getY(this.units);
  334.          float var17 = var3.getWidth(this.units);
  335.          float var18 = var3.getHeight(this.units);
  336.          boolean var19 = false;
  337.          var25 = var4.getX(this.units);
  338.          var27 = var4.getY(this.units);
  339.          if (this.lmVal >= 0.0F) {
  340.             var19 = true;
  341.             if (this.lmVal + this.rmVal > var25) {
  342.                if (var13 > var17) {
  343.                   var13 = var17;
  344.                }
  345.  
  346.                var11 = (var25 - var13) / 2.0F;
  347.             } else {
  348.                var11 = this.lmVal >= var15 ? this.lmVal : var15;
  349.                var13 = var25 - var11 - this.rmVal;
  350.             }
  351.  
  352.             if (this.tmVal + this.bmVal > var27) {
  353.                if (var14 > var18) {
  354.                   var14 = var18;
  355.                }
  356.  
  357.                var12 = (var27 - var14) / 2.0F;
  358.             } else {
  359.                var12 = this.tmVal >= var16 ? this.tmVal : var16;
  360.                var14 = var27 - var12 - this.bmVal;
  361.             }
  362.          }
  363.  
  364.          if (var11 < var15) {
  365.             var19 = true;
  366.             var11 = var15;
  367.          }
  368.  
  369.          if (var12 < var16) {
  370.             var19 = true;
  371.             var12 = var16;
  372.          }
  373.  
  374.          if (var13 > var17) {
  375.             var19 = true;
  376.             var13 = var17;
  377.          }
  378.  
  379.          if (var14 > var18) {
  380.             var19 = true;
  381.             var14 = var18;
  382.          }
  383.  
  384.          if (var11 + var13 > var15 + var17 || var13 <= 0.0F) {
  385.             var19 = true;
  386.             var11 = var15;
  387.             var13 = var17;
  388.          }
  389.  
  390.          if (var12 + var14 > var16 + var18 || var14 <= 0.0F) {
  391.             var19 = true;
  392.             var12 = var16;
  393.             var14 = var18;
  394.          }
  395.  
  396.          if (var19) {
  397.             var2 = new MediaPrintableArea(var11, var12, var13, var14, this.units);
  398.             ServiceDialog.access$1200(this.this$0).add(var2);
  399.          }
  400.  
  401.          this.lmVal = var11;
  402.          this.tmVal = var12;
  403.          this.rmVal = var4.getX(this.units) - var11 - var13;
  404.          this.bmVal = var4.getY(this.units) - var12 - var14;
  405.          this.lmObj = new Float(this.lmVal);
  406.          this.rmObj = new Float(this.rmVal);
  407.          this.tmObj = new Float(this.tmVal);
  408.          this.bmObj = new Float(this.bmVal);
  409.          Class var20 = OrientationRequested.class;
  410.          OrientationRequested var21 = (OrientationRequested)ServiceDialog.access$1200(this.this$0).get(var20);
  411.          if (var21 == null) {
  412.             var21 = (OrientationRequested)ServiceDialog.access$400(this.this$0).getDefaultAttributeValue(var20);
  413.          }
  414.  
  415.          if (var21 == OrientationRequested.REVERSE_PORTRAIT) {
  416.             Float var22 = this.lmObj;
  417.             this.lmObj = this.rmObj;
  418.             this.rmObj = var22;
  419.             var22 = this.tmObj;
  420.             this.tmObj = this.bmObj;
  421.             this.bmObj = var22;
  422.          } else if (var21 == OrientationRequested.LANDSCAPE) {
  423.             Float var30 = this.lmObj;
  424.             this.lmObj = this.bmObj;
  425.             this.bmObj = this.rmObj;
  426.             this.rmObj = this.tmObj;
  427.             this.tmObj = var30;
  428.          } else if (var21 == OrientationRequested.REVERSE_LANDSCAPE) {
  429.             Float var31 = this.lmObj;
  430.             this.lmObj = this.tmObj;
  431.             this.tmObj = this.rmObj;
  432.             this.rmObj = this.bmObj;
  433.             this.bmObj = var31;
  434.          }
  435.  
  436.          this.leftMargin.setValue(this.lmObj);
  437.          this.rightMargin.setValue(this.rmObj);
  438.          this.topMargin.setValue(this.tmObj);
  439.          this.bottomMargin.setValue(this.bmObj);
  440.       }
  441.    }
  442. }
  443.